TSTP Solution File: DAT002^1 by cvc5---1.0.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cvc5---1.0.5
% Problem  : DAT002^1 : TPTP v8.1.2. Released v6.4.0.
% Transfm  : none
% Format   : tptp
% Command  : do_cvc5 %s %d

% Computer : n005.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Wed Aug 30 22:10:15 EDT 2023

% Result   : Theorem 0.20s 0.52s
% Output   : Proof 0.20s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.13  % Problem    : DAT002^1 : TPTP v8.1.2. Released v6.4.0.
% 0.12/0.14  % Command    : do_cvc5 %s %d
% 0.14/0.35  % Computer : n005.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35  % CPULimit   : 300
% 0.14/0.35  % WCLimit    : 300
% 0.14/0.35  % DateTime   : Thu Aug 24 14:14:53 EDT 2023
% 0.14/0.35  % CPUTime    : 
% 0.20/0.49  %----Proving TH0
% 0.20/0.52  %------------------------------------------------------------------------------
% 0.20/0.52  % File     : DAT002^1 : TPTP v8.1.2. Released v6.4.0.
% 0.20/0.52  % Domain   : Data Structures
% 0.20/0.52  % Problem  : Recursive list Fibonacci sort
% 0.20/0.52  % Version  : Especial.
% 0.20/0.52  % English  : A list is Fibonacci sorted if it is sorted, and every element is
% 0.20/0.52  %            greater of equal to the sum of its two predecessors (from the
% 0.20/0.52  %            third element onwards).
% 0.20/0.52  
% 0.20/0.52  % Refs     : 
% 0.20/0.52  % Source   : [TPTP]
% 0.20/0.52  % Names    :
% 0.20/0.52  
% 0.20/0.52  % Status   : Theorem
% 0.20/0.52  % Rating   : 0.00 v8.1.0, 1.00 v7.4.0, 0.00 v7.1.0, 1.00 v6.4.0
% 0.20/0.52  % Syntax   : Number of formulae    :    9 (   3 unt;   4 typ;   0 def)
% 0.20/0.52  %            Number of atoms       :    9 (   0 equ;   0 cnn)
% 0.20/0.52  %            Maximal formula atoms :    4 (   1 avg)
% 0.20/0.52  %            Number of connectives :   44 (   0   ~;   0   |;   2   &;  40   @)
% 0.20/0.52  %                                         (   0 <=>;   2  =>;   0  <=;   0 <~>)
% 0.20/0.52  %            Maximal formula depth :   12 (   7 avg)
% 0.20/0.52  %            Number arithmetic     :   15 (   3 atm;   1 fun;   5 num;   6 var)
% 0.20/0.52  %            Number of types       :    3 (   1 usr;   1 ari)
% 0.20/0.52  %            Number of type conns  :    3 (   3   >;   0   *;   0   +;   0  <<)
% 0.20/0.52  %            Number of symbols     :   11 (   3 usr;   6 con; 0-2 aty)
% 0.20/0.52  %            Number of variables   :    7 (   0   ^;   7   !;   0   ?;   7   :)
% 0.20/0.52  % SPC      : TH0_THM_NEQ_ARI
% 0.20/0.52  
% 0.20/0.52  % Comments :
% 0.20/0.52  %------------------------------------------------------------------------------
% 0.20/0.52  thf(list_type,type,
% 0.20/0.52      list: $tType ).
% 0.20/0.52  
% 0.20/0.52  thf(nil_type,type,
% 0.20/0.52      nil: list ).
% 0.20/0.52  
% 0.20/0.52  thf(mycons_type,type,
% 0.20/0.52      mycons: $int > list > list ).
% 0.20/0.52  
% 0.20/0.52  thf(sorted_type,type,
% 0.20/0.52      fib_sorted: list > $o ).
% 0.20/0.52  
% 0.20/0.52  thf(empty_fib_sorted,axiom,
% 0.20/0.52      fib_sorted @ nil ).
% 0.20/0.52  
% 0.20/0.52  thf(single_is_fib_sorted,axiom,
% 0.20/0.52      ! [X: $int] : ( fib_sorted @ ( mycons @ X @ nil ) ) ).
% 0.20/0.52  
% 0.20/0.52  thf(double_is_fib_sorted_if_ordered,axiom,
% 0.20/0.52      ! [X: $int,Y: $int] :
% 0.20/0.52        ( ( $less @ X @ Y )
% 0.20/0.52       => ( fib_sorted @ ( mycons @ X @ ( mycons @ Y @ nil ) ) ) ) ).
% 0.20/0.52  
% 0.20/0.52  thf(recursive_fib_sort,axiom,
% 0.20/0.52      ! [X: $int,Y: $int,Z: $int,R: list] :
% 0.20/0.52        ( ( ( $less @ X @ Y )
% 0.20/0.52          & ( $greatereq @ Z @ ( $sum @ X @ Y ) )
% 0.20/0.52          & ( fib_sorted @ ( mycons @ Y @ ( mycons @ Z @ R ) ) ) )
% 0.20/0.52       => ( fib_sorted @ ( mycons @ X @ ( mycons @ Y @ ( mycons @ Z @ R ) ) ) ) ) ).
% 0.20/0.52  
% 0.20/0.52  thf(check_list,conjecture,
% 0.20/0.52      fib_sorted @ ( mycons @ 1 @ ( mycons @ 2 @ ( mycons @ 4 @ ( mycons @ 7 @ ( mycons @ 100 @ nil ) ) ) ) ) ).
% 0.20/0.52  
% 0.20/0.52  %------------------------------------------------------------------------------
% 0.20/0.52  ------- convert to smt2 : /export/starexec/sandbox/tmp/tmp.eUvmXKKvvf/cvc5---1.0.5_2263.p...
% 0.20/0.52  (declare-sort $$unsorted 0)
% 0.20/0.52  (declare-sort tptp.list 0)
% 0.20/0.52  (declare-fun tptp.nil () tptp.list)
% 0.20/0.52  (declare-fun tptp.mycons (Int tptp.list) tptp.list)
% 0.20/0.52  (declare-fun tptp.fib_sorted (tptp.list) Bool)
% 0.20/0.52  (assert (@ tptp.fib_sorted tptp.nil))
% 0.20/0.52  (assert (forall ((X Int)) (@ tptp.fib_sorted (@ (@ tptp.mycons X) tptp.nil))))
% 0.20/0.52  (assert (forall ((X Int) (Y Int)) (=> (< X Y) (@ tptp.fib_sorted (@ (@ tptp.mycons X) (@ (@ tptp.mycons Y) tptp.nil))))))
% 0.20/0.52  (assert (forall ((X Int) (Y Int) (Z Int) (R tptp.list)) (let ((_let_1 (@ (@ tptp.mycons Y) (@ (@ tptp.mycons Z) R)))) (=> (and (< X Y) (>= Z (+ X Y)) (@ tptp.fib_sorted _let_1)) (@ tptp.fib_sorted (@ (@ tptp.mycons X) _let_1))))))
% 0.20/0.52  (assert (not (@ tptp.fib_sorted (@ (@ tptp.mycons 1) (@ (@ tptp.mycons 2) (@ (@ tptp.mycons 4) (@ (@ tptp.mycons 7) (@ (@ tptp.mycons 100) tptp.nil))))))))
% 0.20/0.52  (set-info :filename cvc5---1.0.5_2263)
% 0.20/0.52  (check-sat-assuming ( true ))
% 0.20/0.52  ------- get file name : TPTP file name is DAT002^1
% 0.20/0.52  ------- cvc5-thf : /export/starexec/sandbox/solver/bin/cvc5---1.0.5_2263.smt2...
% 0.20/0.52  --- Run --ho-elim --full-saturate-quant at 10...
% 0.20/0.52  % SZS status Theorem for DAT002^1
% 0.20/0.52  % SZS output start Proof for DAT002^1
% 0.20/0.52  (
% 0.20/0.52  (let ((_let_1 (not (@ tptp.fib_sorted (@ (@ tptp.mycons 1) (@ (@ tptp.mycons 2) (@ (@ tptp.mycons 4) (@ (@ tptp.mycons 7) (@ (@ tptp.mycons 100) tptp.nil))))))))) (let ((_let_2 (forall ((X Int) (Y Int) (Z Int) (R tptp.list)) (let ((_let_1 (@ (@ tptp.mycons Y) (@ (@ tptp.mycons Z) R)))) (=> (and (< X Y) (>= Z (+ X Y)) (@ tptp.fib_sorted _let_1)) (@ tptp.fib_sorted (@ (@ tptp.mycons X) _let_1))))))) (let ((_let_3 (forall ((X Int) (Y Int)) (=> (< X Y) (@ tptp.fib_sorted (@ (@ tptp.mycons X) (@ (@ tptp.mycons Y) tptp.nil))))))) (let ((_let_4 (ho_6 (ho_5 k_4 100) tptp.nil))) (let ((_let_5 (ho_6 (ho_5 k_4 7) _let_4))) (let ((_let_6 (ho_6 (ho_5 k_4 4) _let_5))) (let ((_let_7 (ho_6 (ho_5 k_4 2) _let_6))) (let ((_let_8 (ho_3 k_2 _let_7))) (let ((_let_9 (ho_3 k_2 _let_6))) (let ((_let_10 (not _let_9))) (let ((_let_11 (or _let_10 _let_8))) (let ((_let_12 (forall ((X Int) (Y Int) (Z Int) (R tptp.list)) (let ((_let_1 (ho_6 (ho_5 k_4 Y) (ho_6 (ho_5 k_4 Z) R)))) (or (>= (+ X (* (- 1) Y)) 0) (>= (+ X Y (* (- 1) Z)) 1) (not (ho_3 k_2 _let_1)) (ho_3 k_2 (ho_6 (ho_5 k_4 X) _let_1))))))) (let ((_let_13 (EQ_RESOLVE (ASSUME :args (_let_2)) (TRANS (MACRO_SR_EQ_INTRO :args (_let_2 SB_DEFAULT SBA_FIXPOINT)) (PREPROCESS :args ((= (forall ((X Int) (Y Int) (Z Int) (R tptp.list)) (let ((_let_1 (@ (@ tptp.mycons Y) (@ (@ tptp.mycons Z) R)))) (or (>= (+ X (* (- 1) Y)) 0) (>= (+ X Y (* (- 1) Z)) 1) (not (@ tptp.fib_sorted _let_1)) (@ tptp.fib_sorted (@ (@ tptp.mycons X) _let_1))))) _let_12))))))) (let ((_let_14 (_let_12))) (let ((_let_15 ((ho_6 (ho_5 k_4 X) (ho_6 (ho_5 k_4 Y) (ho_6 (ho_5 k_4 Z) R)))))) (let ((_let_16 (ho_3 k_2 _let_5))) (let ((_let_17 (not _let_16))) (let ((_let_18 (or _let_17 _let_9))) (let ((_let_19 (forall ((X Int) (Y Int)) (or (>= (+ X (* (- 1) Y)) 0) (ho_3 k_2 (ho_6 (ho_5 k_4 X) (ho_6 (ho_5 k_4 Y) tptp.nil))))))) (let ((_let_20 (EQ_RESOLVE (ASSUME :args (_let_3)) (TRANS (MACRO_SR_EQ_INTRO :args (_let_3 SB_DEFAULT SBA_FIXPOINT)) (PREPROCESS :args ((= (forall ((X Int) (Y Int)) (or (>= (+ X (* (- 1) Y)) 0) (@ tptp.fib_sorted (@ (@ tptp.mycons X) (@ (@ tptp.mycons Y) tptp.nil))))) _let_19))))))) (let ((_let_21 (ho_3 k_2 (ho_6 (ho_5 k_4 1) _let_7)))) (let ((_let_22 (not _let_8))) (let ((_let_23 (or _let_22 _let_21))) (SCOPE (SCOPE (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_11)) :args ((or _let_10 _let_8 (not _let_11)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_23)) :args ((or _let_21 _let_22 (not _let_23)))) (EQ_RESOLVE (ASSUME :args (_let_1)) (PREPROCESS :args ((= _let_1 (not _let_21))))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_13 :args (1 2 4 _let_5 QUANTIFIERS_INST_E_MATCHING _let_15)) :args _let_14))) _let_13 :args (_let_23 false _let_12)) :args (_let_22 true _let_21 false _let_23)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_18)) :args ((or _let_17 _let_9 (not _let_18)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_20 :args (7 100 QUANTIFIERS_INST_E_MATCHING ((ho_6 (ho_5 k_4 X) (ho_6 (ho_5 k_4 Y) tptp.nil))))) :args (_let_19)))) _let_20 :args (_let_16 false _let_19)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_13 :args (4 7 100 tptp.nil QUANTIFIERS_INST_E_MATCHING _let_15)) :args _let_14))) _let_13 :args (_let_18 false _let_12)) :args (_let_9 false _let_16 false _let_18)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_13 :args (2 4 7 _let_4 QUANTIFIERS_INST_E_MATCHING _let_15)) :args _let_14))) _let_13 :args (_let_11 false _let_12)) :args (false true _let_8 false _let_9 false _let_11)) :args ((@ tptp.fib_sorted tptp.nil) (forall ((X Int)) (@ tptp.fib_sorted (@ (@ tptp.mycons X) tptp.nil))) _let_3 _let_2 _let_1 true))))))))))))))))))))))))))
% 0.20/0.52  )
% 0.20/0.52  % SZS output end Proof for DAT002^1
% 0.20/0.52  % cvc5---1.0.5 exiting
% 0.20/0.53  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------